package com.parkinglot.service;


import com.parkinglot.core.Result;
import com.parkinglot.parmeter.*;
import com.parkinglot.pojo.MonthbilRecord;
import com.parkinglot.vo.*;

import java.util.List;

/**
 * (MonthbilRecord)表服务接口
 *
 * @author makejava
 * @since 2020-11-13 14:52:13
 */
public interface MonthbilRecordService {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    MonthbilRecord queryById(Integer id);

    /**
     * 查询多条数据
     *
     * @param offset 查询起始位置
     * @param limit  查询条数
     * @return 对象列表
     */
    List<MonthbilRecord> queryAllByLimit(int offset, int limit);

    /**
     * 新增数据
     *
     * @param monthbilRecord 实例对象
     * @return 实例对象
     */
    MonthbilRecord insert(MonthbilRecord monthbilRecord);
    MonthbilRecord insertoverride(MonthRecordParm monthRecordParm);

    /**
     * 修改数据
     * @param monthbilRecord 实例对象
     * @return 实例对象
     */
    MonthbilRecord update(MonthbilRecord monthbilRecord);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(Integer id);

    List<UserMonthRecordVo> getmonthrecord(UserqueryParm userqueryParm);

    List<UserMonthRefunVo> getmonthtuikuan(UserqueryParm userqueryParm);

    MonthRecordVo countvip(MonthbilRecord monthbilRecord);

    MonthRecordVo coungaragetvip(MonthRecordParm monthRecordParm);

   // List<MonthbillUserRecordVo> coungarageusertvip(String garagecode);
    List<MonthbillUserRecordVo> coungarageusertvip(MohuqueryParm mohuqueryParm);

    List<MonthbillUserRecordVo> userrechargerecord(String gardecode);

    List<MonthbillUserRecordVo> userrefundrecord(String gardecode);

    List<MonthbilRecord> queryAll(MonthRecordParm monthRecordParm);

    MonthbilRecord queryAllone(MonthRecordParm monthRecordParm);
    MonthbilRecord queryAllone(String monthorder);
    /**
     * 查询月票表  用户和车是否是会员
     */
    UsercarMonthVipVo queryexistencevip(UsercarMonthVipParm usercarMonthVipParm);
    /**
     * 月票到期接口 每次都会调用
     */
    Result monthcipguoqi(MonthVipParm monthVipParm);
    /**
     * 查询用户每个车是不是会员 针对用户绑定多辆车
     */
    Result getusercarisvip(String garageid,String userid,String carnumber);

}